1. Field of the Invention
The invention relates generally to digital signal processing. More specifically, the invention relates to processing digital signals that are made up of concatenated sub-sequences.
2. Related Art
In systems that perform digital signal processing, there are classes of these systems which perform signal composition and decomposition. In the case of signal composition, digital signals are being synthesized from a set of data or from analog signals. In the case of signal decomposition, digital signals are often received by a system so that they can be interpreted, analyzed, or merely detected. For instance, a transmitter may digitally model a set of data into digital signals. Then, a receiver, would estimate the contents of the original set of data by analyzing the digital signals that are received.
Certain signals that are at or near a zero frequency (i.e. DC) are called “baseband” signals. FIG. 1 shows one such baseband signal 100 centered around a frequency of zero. Baseband signal 100 has an upper limit in frequency fsignal-max at which the signal level drops to zero in amplitude and has no level higher than that at higher frequencies. A discrete-time signal has an infinite number of “images” centered around higher frequencies which are multiples of a sampling frequency fsampling. The baseband signal 100 has images 110, 120 and 130 that occur at discrete multiples of fsampling which are 1*fsampling, 2*fsampling, and 3*fsampling, etc., correspondingly, since the baseband spectrum is centered around a frequency of zero. There are other images at higher multiples, that are not shown.
The digital signal (composed of baseband signal 100 and its images 110, 120 and 130) shown in FIG. 1 is a signal that does not exhibit a condition known as “aliasing”. Aliasing occurs when a baseband signal is processed (for instance, up-sampled) such that images overlap one another in their frequency spectrums. If the sampling frequency at which a baseband signal were up-sampled were low enough, then images might overlap partially or even entirely. Referring to FIG. 1, if fsampling were less than 2*fsignal-max, and assuming the baseband signal 100 is symmetric about zero frequency (amplitude axis), then the trailing edge of image 110 would overlap with the baseband signal 100. The signal would then be aliased, and thus corrupted such that the original signal could not easily, if at all, be recovered (since the original content of the baseband is a priori unknown in most cases). One way of preventing aliasing is to choose a high enough sampling frequency which can make aliasing impossible. Signals that exhibit no aliasing, such as that shown in FIG. 1, have “guard bands” between the leading edge of one signal image and trailing edge of the next signal image. For instance, between baseband signal 100 and image 110, there is a guard band between them of:guard band=fsampling−2*fsignal-max.
Signals and systems that have a large (relative to the total spectrum size of the baseband signal) guard bands are often used in applications where the prevention of aliasing is crucial. FIG. 2(a) is an example of a digital signal with a larger guard band. Baseband signal 200 is shown having images at multiples of a sampling frequency f′sampling that is much larger than fsampling shown in FIG. 1. Such signals with large frequency guard bands are used in systems that may involve many other signal processing steps. The size of the guard band can often simplify these other steps. For instance, systems which convert digital (or discrete-time) signals into analog signals (continuous time) would have to deal with images of the signal. If there were large guard bands, it would be easier to deal with such images (since there is more room between images).
In the time-domain, such signals shown in the frequency domain as waveforms may actually be composed of or encode “symbols”. When analyzed as symbols in the time-domain, “inter-symbol interference”(ISI), aliasing becomes a major issue. ISI is interference between two or more symbols contained within a given signal. For example, if a digital signal x(n) is composed of a series of N-length concatenated sub-sequences (i.e. symbols) xi(n), thenx(n)={x0(0), x0(1), . . . , x0(N−1), x1(0), x1(1), . . . , x1(N−1), . . . }.In this example, ISI involves interference between a symbol x0 and the next symbol x1. In this example, ISI is caused by the use of linear filters that operate to output one result for every cycle. Such linear filters have a designated number of taps, M, each of which serve to multiply a provided input by a filter coefficient and sum all such results over the M taps. Linear filters achieve this by well-known sample-and-hold or delay mechanisms which have the effect of pipelining inputs so that they are eventually multiplied by every one of the M taps.
FIG. 2(b) depicts a conventional M-tap linear filter. Initially, the M-tap filter 240 pictured takes M−1 samples of a previous input symbol and the first sample of the current symbol to produce the first sample for the output of the current symbol. Likewise, the second output sample is produced by the M-tap filter 240 filtering the last M−2 samples of the previous symbol and the first two samples of the current symbol. Thus, each symbol contributes samples to the processing of the next symbol, and thus interferes with the next symbol. Once M samples are processed, then the filter 240 takes the current sample of the same symbol and the M−1 samples of the same symbol in order to generate succeeding output samples.
Because of the sequential nature of these filters, a given output is often a filtered version of samples of one symbol and the next. For instance, consider the case of xi above, where N=10. Each symbol x0, x1 etc. would be composed of 10 samples. If the number of taps M in the filter is 6 (often, the number of taps is less than or equal to the number of samples that need processing, depending on the application), then when the first sample of symbol x1(0) is input to the filter, the last 5 samples x0(5) . . . x0(9) of the previous symbol x0 will be residual inputs remaining in the filter therewith. The first output of the linear filter for the first sample x1(0) of symbol x1 is thus corrupted and exhibits ISI (between x(1) and the sequentially preceding symbol x(0)).
This effect is further illustrated in FIG. 3(a). The input is comprised of three concatenated symbols, indexed as i−1, i, and i+1. The next two rows depict the filtered versions of symbols i−1 and i, respectively. The spreading out at the ends of each symbol into the area of adjacent symbols is caused by filtering. The final row shows the area of overlap between the pair of symbols i−1 and i, which represents where ISI occurs. FIG. 3(b) shows a simulation of the example depicted in FIG. 3(a). The input 310 consists of three concatenated symbols each of which is composed of two cycles of a sinusoid, but of differing phase. The filter (not shown) applied upon the input 310 is a low-pass filter with a cutoff frequency above the frequency of the sinusoid. Ordinarily, the waveforms should be unchanged in such a case. However, as depicted in FIG. 3(b) the output 320 which results from such filtering of the input 310, the output 320 shows distortion at the symbol boundaries. This is a result of ISI.
The conventional techniques for generating and detecting signals with large frequency guard bands often have the effect of also causing ISI, since these techniques were intended for use in signals that do not have sub-sequences of symbols contained within them. For instance, one technique for generating the signal 20 shown in FIG. 2(a) involves up-sampling the baseband signal 200 by two using the well-known zero insertion process. After up-sampling, the resulting up-sampled signal is then filtered using a digital lowpass filter 400 such as that shown in FIG. 4. In the frequency domain (shown), the sharp response (i.e. short transition region) of the low-pass filter 400 implies it will exhibit a very long impulse response in the time domain. In digital systems, this long impulse response will cause ISI (because neighboring symbols are corrupted by the length of the response).
Other techniques have sought to convert the digital signal into an analog signal and then perform filtering using an analog filter. After analog filtering the filtered signals may be converted back, at say a receiver, to digital. However, analog low-pass filters have a similarly long impulse response and thus, subject the signal to ISI which is exhibited when the signal reverts to digital form.
For some systems, the digital synthesis/analysis is performed by the well-known Discrete Fourier Transform (DFT) and/or an Inverse Discrete Fourier Transform (IDFT) calculation. The DFT is often implemented by a special transform, which is efficient to implement in digital systems, known as the Fast Fourier Transform (FFT). In these cases, the conventional length N of the FFT is the channel-width (frequency spectrum width) divided by the sub-carrier spacing. For example, one emerging standard in wireless multi-channel communications systems, IEEE (The Institute of Electrical and Electronic Engineers) 802.11a, the channel width is 20 MHz (MegaHertz) and the subcarrier spacing is 312.5 KHz (KiloHertz) which results in an FFT length of N=(20*106/312.50*103)=64. FIG. 5 shows a spectrum of a typical multi-channel communications medium with 20 MHz channels. The IEEE 802.11a standard specifies that each 20 MHz channel has 52 sub-carriers covering 16.5 MHz of the 20 MHz, leaving 3.5 MHz to be used for preventing interference between channels. The FFT length is chosen conventionally to be 64-point for architecture and implementation efficiency, even though only 52 would be needed. For the synthesis (transmitter) case, the signal that results from a 64-point FFT is the same as that shown in FIG. 1. For the analysis (receiver) case, the input to the FFT has the same spectrum as shown in FIG. 1. Both cases require difficult filtering to increase their guard bands and prevent time-domain exhibited ISI.
FIG. 6 illustrates the filtering of an input symbol stream using conventional linear filtering. An input symbol stream is decomposed into a number of groups (symbols) of samples of a fixed length N, where N is the number of samples per symbol. To decode the first sample of a current symbol 620, which is indexed by variable “i”, the first sample of the current symbol 620 is passed to an M-tap linear filter 640. The M-tap filter 640 also holds in its taps the last M−1 samples of the previous symbol. The resulting decoded output sample 660 of the decoded symbol 650 (labeled i′) will be the filtered result from part of the current symbol 620 (i) and a portion of the previous symbol 610 (i−1). Since the output of the current symbol's samples may be based in part on the input from a prior symbol, the intersymbol interference will contribute to an inaccurate result such that the output 660 may not be as predicted by the filter response. While additional techniques have been used to remove such interference after filtering, few fail to address the interference itself.
Thus, there is a need for methods that process digital signals that have large frequency guard bands but do so without much ISI.